#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include"Stack.h"

void Swap(int* px, int* py);
void InsertSort(int* arr, int n);
void ShellSort(int* arr, int n);
void SelectSort(int* arr, int n);
void AdjustDown(int* arr, int n, int root);
void HeapSort(int* arr, int n);
void BubbleSort(int* arr, int n);
int GetMiddle(int* arr, int left, int right);
int PartSort1(int* arr, int left, int right);
int PartSort2(int* arr, int left, int right);
int PartSort3(int* arr, int left, int right);
void QuickSort1(int* arr, int left, int right);
void QuickSort2(int* arr, int left, int right);
void _MergeSort(int* arr, int left, int right, int* tmp);
void MergeSort1(int* arr, int n);
void MergeSort2(int* arr, int n);
void MergeArr(int* arr, int begin1, int end1, int begin2, int end2, int* tmp);
void CountSort(int* arr, int n);




 